<#include "/@inc/funcMacros.ftl">
<#include "/@inc/copyright.txt">
<#assign className = TriaGram + "I" + Prefix + LateType>
<#assign baseName = TriaGram + Prefix + LateType>
<#assign moduleName = TriaGram + Prefix + "Itf">
<@pp.renameOutputFile name=className + "Factory.h">
</@pp.renameOutputFile>
#ifndef __${className}FACTORY_H
#define __${className}FACTORY_H

#include "CATBaseUnknown.h"
#include "${moduleName}.h"

class  ${className};
extern ExportedBy${moduleName} IID IID_${className}Factory;

/**
 * Interface for the "${className}Factory" Component
 */
class ExportedBy${moduleName} ${className}Factory : public CATBaseUnknown
{
  CATDeclareInterface;

  public:
  
  virtual HRESULT  __stdcall Create${LateType}( ${LateType}_var &osp{LateType}) =0 ;
  
 };
 CATDeclareHandler( ${className}Factory, CATBaseUnknown) ;
#endif
